Rsse optimization using hardware acceleration

ABSTRACT

Reduced State Sequence Equalizer (RSSE) is implemented using a butterfly hardware accelerator ( 58 ) in the form of a butterfly to increase the efficiency of computing branch metrics ( 24 ) and the ACS (add, compare and select) function ( 26 ).

CROSS-REFERENCE To RELATED APPLICATIONS

[0001] Not Applicable

STATEMENT OF FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

[0002] Not Applicable

BACKGROUND OF THE INVENTION

[0003] 1. Technical Field

[0004] This invention relates in general to communications and, moreparticularly, to a method and apparatus for optimizing RSSEcalculations.

[0005] 2. Description of the Related Art

[0006] Compared to binary modulation commonly used in 2G standards,advanced wireless communication systems may use high-level modulationschemes. From a system point of view, this results in spectralefficiency at the expense of an increase of Inter-Symbol Interference(ISI).

[0007] In order to mitigate ISI, efficient equalizers need to beimplemented on the receiver side. The optimal solution to this problemis known as Maximum Likelihood Sequence Estimation (MLSE). The goal ofthis method is to subtract every possible sequence of L constellationpoints weighted by the channel estimation factors from the receivedsymbol vector in order to determine the most probable symbols. Lcorresponds to the channel estimation length.

[0008] The concept behind MLSE is to choose the minimum error squarebetween the received symbol y_(k) and every possible linear combinationof the last L symbols â_(k-i) weighted by the channel response samplesh_(i), all values being complex. In a mathematical form, theapproximated symbol frame of length L_(frame) is given by:$\hat{\underset{\_}{a}} = {\arg \left\{ {\min_{\hat{\underset{\_}{a}}}{\sum\limits_{k = 0}^{L_{frame} - 1}\quad \left( {{y_{k} - {\sum\limits_{i = 0}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}}}}^{2} \right)}} \right\}}$

[0009] This inner term of the equation, the branch metric, can berewritten as:${{y_{k} - {\sum\limits_{i = 1}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}} - {h_{0}{{\hat{a}}_{k}(s)}}}}^{2}$

[0010] The branch metric (bm) is composed by three terms. The first oneis the soft value of the received symbol, the second one is theestimated contribution of the ISI coming from the L-1 preceding symbolsand the third one is the supposed received symbol multiplied by achannel coefficient.

[0011] The â_(k-i)(s) for i=1, . . . ,L−1 fully determine a state of theMLSE in a trellis representation. Thus, the number of possiblecombinations or states, taking into account that â_(k-i)(s) belongs to aset of M symbols and that K=L−1 with the channel response being oflength L, is equal to M^(K). Furthermore, M transitions output eachstate. This makes MLSE too complicated for implementation in terminalsreceivers.

[0012] A more adapted method, the Reduced State Sequence Equalizer(RSSE) is derived from MLSE. The simplification lies in the reduction ofthe number of states. Like for the MLSE, the RSSE method consists inminimizing a sum of square values (branch metrics) among all the symbolsof the frame under consideration. Therefore, a trellis structure is welladapted to carry out this task. Compared to convolutional decoding,there are, for the general case, no redundancy properties among thebranch metrics.

[0013] For each symbol received, i.e. on trellis transition, thefollowing units are executed: (1) Branch Metric Computation (BMC) Unit:Compute individually one branch metric per transition, (2) Add Compareand Select (ACS) Unit. With more than two transitions per state and (3)Post-Processing. Current implementations do not use generic structure toperform the BMC and ACS functions. Each branch metric is computed, addedto the previous state value and the minimum path is selected for allnext states.

[0014] While RSSE requires only a fraction of calculations required byMLSE, it still is computation intensive, using significant processingresources. Therefore, a need has arisen for a method and apparatus forperforming RSSE computations efficiently.

BRIEF SUMMARY OF THE INVENTION

[0015] In the present invention, a sequence of probable symbols isgenerated from a sequence of received symbols using Reduced StateSequence Estimation. Butterfly circuitry computes termssm₁′=min{sm₁+m,sm₂−m} and sm₂′=min{sm₁−m, sm₂+m}. Path metrics arecomputed between a first state and a second state responsive to thereceived symbols and reference constellation symbols and a best scenariopath is determined at the second state using said butterfly circuitry.

[0016] The present invention allows branch metric and the accumulate,compare and select (ACS) functions to be aided by use of a butterflyhardware accelerator available to support Viterbi decoding.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

[0017] For a more complete understanding of the present invention, andthe advantages thereof, reference is now made to the followingdescriptions taken in conjunction with the accompanying drawings, inwhich:

[0018]FIGS. 1a-d illustrate four different possible cosets for 8PSKmodulation;

[0019]FIG. 2 illustrates a trellis structure for an 8PSK 2-state RSSEand its decomposed version for butterfly execution;

[0020]FIG. 3 illustrates a butterfly structure;

[0021]FIG. 4 illustrates a block diagram showing the operation of anRSSE equalizer improved by hardware acceleration;

[0022]FIG. 5 illustrates how a Butterfly structure can be used tocompute branch metrics;

[0023]FIG. 6 illustrates a π/8 counterclockwise rotation of a 8PSKconstellation to produce symbols which can be accelerated by a Butterflystructure;

[0024]FIG. 7 illustrates how 2 Butterfly structures can be used tocompute branch metrics relative to all constellation symbols of therotated 8-PSK constellation; and

[0025]FIG. 8 illustrates a block diagram of a mobile communicationdevice using a DSP with the accelerated RSSE.

DETAILED DESCRIPTION OF THE INVENTION

[0026] The present invention is best understood in relation to FIGS. 1-8of the drawings, like numerals being used for like elements of thevarious drawings.

[0027] The Reduced State Sequence Equalizer (RSSE) is derived from theMLSE. In its most complicated form, it is equivalent to the MLSE and inits most simplified form to the DFE (Decision Feedback Equalization).Thus, its complexity is comprised between the MLSE complexity and theDFE complexity.

[0028] The RSSE principle restricts the number of possible combinationof past symbols to be tested by regrouping them inside so-called cosets.A coset is a collection of one or more symbols of the signal set. Allsymbols of the constellation need to be in one and only one coset. Thei^(th) coset at time n-k is represented by A_(i)(k). J_(k-i) is thenumber of cosets at time n-k and is naturally comprised between 1 andthe number of symbols of the signal set: 1≦J _(k)≦M for ═k. Furthermore,the analysis here below is restricted to values of J_(k) equal to powerof 2, e.g. for a 8-PSK constellation we have J_(k) ε[1,2,4,8], anddecreasing or equal values of J_(k) for increasing values of k:J_(k)≦J_(k-1). This last restriction means that the older the symbol ofthe ISI sum, the less cosets at that time.

[0029]FIGS. 1a-d illustrates four different possible cosets for 8-PSKmodulation. As stated above, the idea behind the RSST is to reduce thenumber of states of the MLSE. Thus, while a MLSE implementation wouldhave M^(K) states, the RSSE implementation would have$\prod\limits_{k = 0}^{L - 2}\quad J_{k}$

[0030] states, where${1 \leq {\prod\limits_{k = 0}^{L - 2}\quad J_{k}} \leq M^{K}},$

[0031] while both the MLSE and RSSE implementation have M branch metricsoutputting every state. In the RSSE, the number of states is given by$\prod\limits_{k}\quad {J_{k}.}$

[0032] In the MLSE, J_(k) is always equal to the number M of symbols inthe constellation.

[0033] The RSSE selects the best symbol sequence by minimizing the sumof each Square Euclidean Distance of the estimated ISI term subtractedfrom the received samples. At each transition, each previous stateissues branch metrics related to every symbol a^(i) belonging to thereference constellation that reach the next states where the symbol iscontained in the coset A_(j).

[0034]FIG. 2 illustrates a trellis structure for an 8PSK 2-state RSSE.One sees that in FIG. 2, the number of states is smaller than the numberof branches per state and thus parallel transitions occur (four perstate transition).

[0035] The branch metric between states is${{b_{m}\left( {s,{\hat{a}}_{k}} \right)} = {{y_{k} - {\sum\limits_{i = 0}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}} - {f(s)}}}^{2}},$

[0036] where f(s) may include any corrective terms to compensate for thereduced symbol set.

[0037] Many digital signal processors include one or more hardwareaccelerators (HWAs). A possible HWA is the butterfly-HWA for trelliscalculations in Viterbi decoding. The butterfly structure is shownfunctionally in FIG. 3. The butterfly structure computes:

sm ₁′=min{sm ₁ +m, sm ₂ −m} and

sm ₂′=min{sm ₁ −m, sm ₂ +m}

[0038] Hardware accelerators can be of a number of different varieties.In some cases, the HWA can be implemented as a specific instruction thatis an extension of the ISA (Instruction Set Architecture) which executesa complex function. The hardware that supports the instruction may bepart of the processing core or coupled to the processing core. There mayalso be variations on the computations shown above.

[0039] For purposes of discussion, it will be assumed that the butterflystructure has the following restrictions: (1) the branch metrics of abutterfly are symmetric, (2) the branch metrics entering a state are ofopposite sign and (3) the branch metrics are real values. Thus, thebranch metric has to be a linear function for at least the partcontaining the parameter corresponding to the bm (the symbol for theequalizer). If not, the structure behind the HWA may not be fully used.

[0040]FIG. 4 illustrates a block diagram 20 showing the operation of theRSSE equalizer, indicating areas, which can be improved by the butterflystructure hardware. In block 22, parameters and trellis metricsinitialization is performed. In block 24, the branch metrics arecomputed, using the benefit of acceleration from the butterflystructure. These operations are described in greater detail below. Inblock 26, the compare and select at the next states are performed, againwith the benefit of the butterfly structure. In block 28, the differentparameters are updated for computation of the following symbol. The loopof blocks 24 through 28: is repeated for a frame length. Upon completionof a frame, the traceback occurs in block 30 to determine the mostlikely sequence of symbols.

[0041] The following describes modification of the general RSSE methodsto allow use of the butterfly structure. As described above:${{bm}\left( {s,{\hat{a}}_{k}} \right)} = {{y_{k} - {\sum\limits_{i = 0}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}} - {f(s)}}}^{2}$

[0042] The equation can be rewritten as:${{bm}\left( {s,{\hat{a}}_{k}} \right)} = {{{y_{k} - {\sum\limits_{i = 1}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}} - {h_{0}{\hat{a}}_{k}} - {f(s)}}}^{2} = {{\underset{\_}{S} - {h_{0}{\hat{a}}_{k}}}}^{2}}$${{with}\quad \underset{\_}{S}} = {\left\lbrack {y_{k} - {\sum\limits_{i = 1}^{L - 1}\quad {h_{i}{{\hat{a}}_{k - i}(s)}}} - {f(s)}} \right\rbrack.}$

[0043] Thus, bm(s, â_(k))=∥S−h₀â_(k)∥²∥²+∥h₀â_(k)∥²−2Re{h₀â_(k) S*}.Without loss of generality, we can set the coefficient h₀=1 and for 8PSKconstellation ∥a_(k)∥² is equal to 1. Consequently,

bm(s,â _(k))=∥S∥ ²−2Re[h ₀ â _(k) S *].

[0044] For a given state, the ∥S∥² is constant. Differences come fromthe targeted symbol â_(k). The branch metric can be decomposed furtherby inserting the real and imaginary parts of the right terms:â_(k)=a_(x)+j·a_(y), h₀=h_(x)+j·h_(y) and S=S_(x)+j·S_(y)Thus:

bm(s, â _(k))=∥S∥²−2[a _(x)(h _(x) S _(x) +h _(y) S _(y))+a _(y)(h _(x)S _(y) −h _(y) S _(x))], or more concisely:

bm(s, â _(k))=∥S∥²−2[a _(x) Re{h ₀ *S}+a _(y) Im{h ₀ * S}]

[0045] Taking into account that h and Sare related to the initiatingstate and not to the symbol, the equation can be rewritten as:

bm(s, â _(k))=∥S∥²−2[a _(x)(s)+a _(y)(s)+a _(y)(s)]=∥ S∥ ²−2a _(x)(s)−2a_(y)(s),with

a _(x)(s)=a _(x) Re{h ₀ *S} and a _(y)(s)=a _(y) Im{h ₀ *S}.

[0046] Examining this expression, it can be seen that the branch metricis composed by three terms, the first one is equal for every branchcoming out of one state, the second and third are linear combinations ofh₀, the S term (both determined by the state) and respectively the realand the imaginary parts of the symbol under consideration.

[0047] All the terms depend on the initiating state s. This excludes anyuse of a butterfly structure with two different states (since thebutterfly structure has a m, -m,-m, m symmetry relation). Thus, the onlysolution is to use one butterfly to compute four transitions issued fromone state. This would represent two butterflies per RSSE initiatingstate for an 8-PSK Constellation.

[0048] The RSSE applied to the 8PSK constellation, as defined in FIG.1a-d, has an interesting property: each coset with more than one symbolalways has a symbol and its opposite. This is easily understandable bylooking at FIGS. 1a-d. Furthermore, the 4 diagonal symbols (the ones inthe coset A₁(k) in FIG. 1c) have coordinates equal to (±u,±u) whereu=cos(π/4). As shown above, the branch metric may be decomposed in threeterms with the two last terms being a linear function of the real andimaginary parts of the symbol under consideration. This second propertyallows use of the butterfly by conceptually changing the notion of bmfor the equalizer. The constant part ∥S∥² of the RSSE bm and thepositive or negative version of 2a_(x)(s) are added to the old statevalue in order to define two Trellis states. The branch metric is equalto 2a_(y)(s).

[0049] As shown graphically in FIG. 5, the Butterfly structure can beused to compute branch metrics by setting the butterfly HWA values asfollows:

sm ₁ =sm _(old) +∥S∥ ²−2a _(x)(s)

sm ₂ =sm _(old) +∥S∥ ²+2a _(x)(s)

m=2a _(y)(s)

[0050] The butterfly structure computes the transition corresponding tofour diagonal symbols of the 8PSK constellation by adding andsubtracting their real and imaginary components. The minimum of the twobranch metrics determines the best symbol for each coset. It should benoted however, that in this form the butterfly structure is applicableonly to cosets that have the symbols with coordinates (±a_(x), ±a_(y)),a_(x) and a_(y) being two real numbers.

[0051] Also as shown in FIG. 5, in this form, only the two diagonalcosets can be computed by the butterfly structure.

[0052] A way to use the butterfly structure for the computation of allminimums of two value cosets in 8-PSK constellations is to operate achange of referential. The role of the equalizer is to produce harddecisions. A change of referential will therefore not affect the otherparts of the DBB (digital baseband). A π/8 counterclockwise rotation ofthe constellation shows interesting properties concerning the 8-PSKconstellation symbols. As shown in FIG. 6, a π/8 counterclockwiserotation produces symbols that are determined by only two real values αand β.

[0053] After the rotation, there are two, four-symbol groups ({A₀(k),A₃(k)} and {A₁(k), A₂(k)}) that fulfill butterfly conditions exposedabove. Thus, the butterfly structure can be used for all transitions andminimum computations in such a configuration as shown in FIG. 7.

[0054] Using a π/8 counterclockwise rotation (any rotation of(2k+1)*π/8, where k is an integer can be used), the butterfly HWA can beapplied with the following values:

[0055] For the first butterfly of symbol groups {A₀(k),A₃(k)}:

a _(x)(s)=βRe{h ₀ *S} and a _(y)(s)=αIm{h ₀ *S}

sm ₁ =sm _(old) +∥S∥ ²−2βRe{h*S}

sm ₂ =sm _(old) +∥S∥ ²+2βRe{h*S}

m=2αIm{h*S}

[0056] For the second butterfly of symbol groups {A₁(k),A₂(k)}

a _(x)(s)=αRe{h ₀ *S} and a _(y)(s)=βIm{h ₀ *S}

sm ₁ =sm _(old) +∥S∥ ²−2αRe{h*S}

sm ₂ =sm _(old) +∥S∥ ²+2αRe{h*S}

m=2βIm{h*S}

[0057] with α=cos(π/8), β=sin(π/8) and

Re{h*S}=h _(x) S _(x) +h _(y) S _(y) and Im{h*S}=h _(x) S _(y) −h _(y) S_(x)

[0058] A pseudo-code implementation for a modified 8PSK 2-state RSSEmethod is provided below: Initialize (Rotation of y_(n), h_(k)) Repeat Ltimes {  For each RSSE state (2 times) {   Compute S and ||S||².  Compute h*S Re{} and Im{}.   For each butterfly (2 times) {    Computesm₁ and sm₂    Compute bm   }  }  Perform 8 Butterflies. Update. } Endrepeat L times Traceback (TBD)

[0059] The π/8 rotation method has some implications: (1) π/8 rotationof received samples y_(i), (2) π/8 rotation of channel estimation h_(k)and (3) only applicable when J_(k)≦M/2 and when the constellation cosethave symbols of opposite signs.

[0060] Using a butterfly structure in the RSSE method can significantlyreduce the computing resources needed for RSSE calculations, whilehaving no effect on the performance of the RSSE function.

[0061] It should also be noted that the RSSE method described abovecould be used in either a loss-less or a loss variation. In theloss-less variation, both y (received symbol sample vector) andreference constellation symbols are rotated by angle equal to (2k+1)*π/8with k being a whole number. The angle may vary depending upon thenumber of symbols in the constellation.

[0062] In the loss variation, both y (received symbol sample vector) andreference constellation symbols are rotated by angle equal to(2k+1)*π/8. Then, either the reference constellation or y is rotated byan angle a bit higher or a bit smaller than the first one. The error isproportional to the absolute difference of the rotation angle between yand the reference constellation symbols.

[0063]FIG. 8 illustrates a block diagram of a mobile communicationdevice 50 using a DSP 60 for communications support. Information isreceived over antenna 52, which is converted to symbols y_(k) by digitalbaseband circuitry 54. The symbols are received by the DSP 56, whichrotates the received symbols and/or reference constellation symbols, togenerate branch metrics using the hardware accelerators 58 in support ofRSSE processing as described above. A memory subsystem 60 andinput/output subsystem 62 support the processing core.

[0064] An alternative way to the constellation rotation solutiondiscussed above in connection with the computation of the four axissymbols (cosets A₀ and A₂ in FIG. 5) is to consider these symbols in theform of a^(k)=a^(l)·e^(−jπ/4). Thus, we get a^(k) _(x)(s)=a^(l)_(s)Re{e^(−jπ/4)h₀*S} and a^(k) _(y)(s)=a^(l) _(y)Im{e^(−jπ/4)h₀*S},where a^(l) _(x) and a^(l) _(y) are coordinates of a diagonal symbol (incoset A₁ and A₃ in FIG. 5). In these expressions, (±a_(x), ±a_(y))properties for axis symbols are assured and therefore butterflystructures can be used. Real and Imaginary parts are modified by themultiplication of the e^(−jπ/4) coefficient.

[0065] Although the Detailed Description of the invention has beendirected to certain exemplary embodiments, various modifications ofthese embodiments, as well as alternative embodiments, will be suggestedto those skilled in the art. The invention encompasses any modificationsor alternative embodiments that fall within the scope of the Claims.

1. Circuitry for generating a sequence of probable symbols from asequence of received symbols using Reduced State Sequence Estimation,comprising: butterfly circuitry for computing terms in butterflystructure of sm₁′=min{sm₁+m, sm₂−m} and sm₂′=min{sm₁−m, sm₂+m}; andcircuitry for computing multiple path metrics between a first state anda second state responsive to the received symbols and referenceconstellation symbols and determining a best scenario at the secondstate using said butterfly circuitry.
 2. The circuitry of claim 1 andfurther comprising circuitry for rotating said received symbols by apredetermined angle.
 3. The circuitry of claim 1 and further comprisingcircuitry for rotating said reference constellation symbols by apredetermined angle.
 4. The circuitry of claims 2 and 3 wherein saidpredetermined angle is (2k+1)*π/8 with k being an whole number.
 5. Thecircuitry of claim 1 and wherein said reference constellation is an8-PSK constellation, circuitry for expressing axis symbols of theconstellation as a function of diagonal symbols in order to assuresymmetrical properties for use of the butterfly circuitry.
 6. A methodof generating a sequence of probable symbols from a sequence of receivedsymbols using Reduced State Sequence Estimation, comprising the stepsof: computing multiple path metrics between a first state and a secondstate responsive to said sequence of received symbols using a butterflystructure of sm₁′=min{sm₁+m, sm₂−m} and sm₂′=min{sm₁−m, sm₂+m}; anddetermining a best scenario at the second state using said butterflystructure.
 7. The method of claim 6 and further comprising the step ofrotating said received symbols by a predetermined angle.
 8. The methodof claim 6 and further comprising the step of rotating said referenceconstellation symbols by a predetermined angle.
 9. The method of claims7 and 8 wherein said predetermined angle is (2k+1)*π/8 with k being awhole number.
 10. The method of claim 6 wherein the referenceconstellation is an 8-PSK constellation, and further comprising the stepof expressing axis symbols of the constellation as a function ofdiagonal symbols in order to assure symmetrical properties for use ofthe butterfly circuitry.